1. Field of the Invention
The present invention relates to the field of data compression. More specifically, the present invention relates to the art of dynamically scaling data compression.
2. Background Information
A number of individual lossless and lossy data compression techniques are known in the art. Examples of lossless data compression include Run Length Limited Encoding (RLL), and V.42bis, a standard promulgated by the International Telecommunication Union--Technical Standard Section (ITU-T), whereas examples of lossy data compression include data compression standards promulgated by Moving Picture Engineer Guild (MPEG).
Lossless data compression techniques are known to have been integrated as part of the data communication services offered by a system to all applications, regardless of the nature of the applications, whereas lossy data compression techniques are known to have been integrated as part of device services designed for certain types of applications, e.g. video applications. In the area of data communication, it is also known that some systems supporting multiple data compression techniques are further equipped to negotiate on the specific data compression technique to be employed for a particular data communication session. These negotiations are known to be conducted without regard to the workloads of the respective systems. In other words, there is no attempt to scale the amount of compression to be performed based on the workloads of the communicating systems.
Experience has shown that such ability to dynamically scale the amount of data compression being performed, depending on the workloads of the communicating systems is highly desirable in certain applications, e.g. in the area of network computing. In addition to scalability, experience has also shown that it is desirable to maintain symmetry on the amount of computations required for compression and decompression, as the amount of compression is scaled. In other words, whether it is minimal compression or maximum compression, the amount of computations required for compression and decompression are roughly the same. Furthermore, experience has also shown that it is desirable to exploit certain application characteristics to enhance compression/decompression efficiencies, even for lossless data compression.
In view of these and other desired results, the subject scalable data compression methods and apparatuses are invented.